package com.zj.study.upload;

import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.http.HttpProtocol;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.model.PutObjectResult;
import com.qcloud.cos.region.Region;
import java.io.File;

/**
 * @author 赵赳
 * @since 2021/8/25 10:43
 */
public class CostTest {


  public static void main(String[] args) {
    // 1 初始化用户身份信息（secretId, secretKey）。
    // SECRETID和SECRETKEY请登录访问管理控制台进行查看和管理
    String secretId = "AKID0oNgjV1GEvSjjTw82h7ICqDKAj12nHUR";
    String secretKey = "jBNIxMTKtCDxQdaolTu5zd18yXqsc5IE";
    COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
    // clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。
    Region region = new Region("ap-guangzhou");
    ClientConfig clientConfig = new ClientConfig(region);
    // 这里建议设置使用 https 协议
    clientConfig.setHttpProtocol(HttpProtocol.https);
    // 3 生成 cos 客户端。
    COSClient cosClient = new COSClient(cred, clientConfig);

    /*------------------------------------------------------------------------*/

    // 指定要上传的文件
    File localFile = new File("C:\\Users\\18210\\Pictures\\images\\80015734.jpg");

    // 指定文件将要存放的存储桶
    String bucketName = "images-1306532340";
    // 指定文件上传到 COS 上的路径，即对象键。例如对象键为folder/picture.jpg，则表示将文件 picture.jpg 上传到 folder 路径下
    String key = "exampleImg.jpg";
    PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
    cosClient.putObject(putObjectRequest);

    String imgUrl ="https://"+bucketName+".cos.ap-guangzhou.myqcloud.com/"+key;
    System.out.println("imgUrl = " + imgUrl);
    cosClient.shutdown();
  }




}
